package utils
{
	import flash.utils.ByteArray;

	public class BytesUtil
	{
		public function BytesUtil()
		{
		}
		
		public static function writeString(str:String):ByteArray
		{
			var bytes_:ByteArray = new ByteArray();
			bytes_.writeUTFBytes(str);
			
			var bytes:ByteArray = new ByteArray();
			bytes.writeInt(bytes_.length);
			bytes.writeBytes(bytes_);
			
			return bytes;
		}
		
		public static function writeByByte(str:String):Array
		{
			var byteList:Array = new Array();
			for(var ii:int=0; ii < str.length ; ii++)
			{
				byteList.push( int(str.charAt(ii)) );
			}
			return byteList;
		}
		
		public static function writeByHex(str:String):ByteArray
		{
			var byteList:ByteArray = new ByteArray();
			for(var ii:int=0; ii < str.length ; ii++)
			{
				byteList.writeByte( int(str.charAt(ii)) );
			}
			return byteList;
		}
		
		public static function readString(bytes:ByteArray):String
		{
			bytes.position = 0;
			return bytes.readMultiByte(bytes.length, "utf8");
		}
	}
}